The World Wide Web (WWW) is a system of Internet servers handling specially formatted documents, or files. The documents are formatted in a markup language called HyperText Markup Language (HTML) that supports links to other documents, as well as graphics, audio, and video files. Such links, also referred to as hyperlinks, allow the user to jump from one document to another simply by clicking on hot spots. Accessing Internet servers on the World Wide Web is generally done through the use of a web client or browser.
A web client is a Graphical User Interface (GUI) that interfaces and communicates with a web server, using HyperText Transfer Protocol (HTTP). Hypertext Transfer Protocol is the protocol behind the World Wide Web (WWW), that is invoked with every web transaction e.g., with every request for web documents or graphics, every click on hyperlinks, and every submission of forms. The WWW is about distributing information over the Internet, and HTTP is the protocol used to do so. The GUI has to be interfaced with a stack to submit the request according to HTTP to the Web Server.
HTTP is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, protocol which can be used for many tasks beyond its use for hypertext, such as name servers and distributed object management systems, through extension of its request methods, error codes and headers. A feature of HTTP is the typing and negotiation of data representation, allowing systems to be built independently of the data being transferred.
HTTP has been in use by the World-Wide Web global information initiative since 1990. The RFC 2616 defines the protocol referred to as “HTTP/1.1”, and is an update to RFC 2068.
As defined in the RFC 2616, the request sent by a web client to a web server includes, within the first line of that message, the method to be applied to the resource, the identifier of the resource, and the protocol version in use, as follows:
Request = Request-Line ;*(( general-header ;| request-header ;| entity-header ) CRLF) ;CRLF[ message-body ] ;
After receiving and interpreting a request message, a server responds with an HTTP response message as follows,
Response = Status-Line ;*(( general-header ;| response-header ;| entity-header ) CRLF) ;CRLF[ message-body ] ;
In the World Wide Web, an HTTP proxy is an intermediary program which acts as both a server and a client for the purpose of making requests on behalf of other clients. Requests are serviced internally or by passing them on, with possible translation, to other servers. A proxy must implement both the client and server requirements of the RFC 2616. A “transparent proxy” is a proxy that does not modify the requests nor the responses beyond what is required for proxy authentication and identification. A “non-transparent proxy” is a proxy that modifies the requests and the responses in order to provide some added service to the user agent, such as group annotation services, media type transformation, protocol reduction, or anonymity filtering. Except where either transparent or non-transparent behavior is explicitly stated, the HTTP proxy requirements apply to both types of proxies.
Typically, the problems that occur when browsing the web are:
bad response time;
power consumption of small devices often connected to the network;
network connection need;
absence of resource optimization; and
huge number of simultaneous access requests to same web sites at peak hours.
As a consequence, there is need for a method and systems for optimizing the resource and response time.